package jhlee42;

import java.util.Scanner;

public class J17BasicClass {

	public static void main(String[] args) {
	// 객체 비교 : equals()
		String userId = "fnekfm";
		String passwd ="301";
		Scanner sc = new Scanner(System.in);
		
		
		System.out.println("아이디를 입력하세요");
		String youId = sc.next();
		
		if(userId == youId){ System.out.println("아이디 일치!");}
		else{System.out.println("아이디 불일치!");}
		// 객체 비교시 == 연산자를 사용하면, 
		// 객체의 동질성(객체가 가리키는 대상)을 비교함
		// 즉, 해당 객체의 주소값을 비교한다는 의미임
		System.out.println( System.identityHashCode(userId));
		System.out.println( System.identityHashCode(youId));
		// 따라서, 객체가 가진 값을 비교할 때에는 
		// Object 클래스에 정의된 equals()를 사용해야함
		
		if(userId.equals(youId) ) {System.out.println("아이디 일치!");}
		else {System.out.println("아이디 불일치!");}
		
		
		// 래퍼클래스. 박싱, 언박싱
		// 래퍼 클래스 : 기본자료형을 참조자료형으로 다를 수 있도록  JDK 5부터 지원하는 클래스 
		// 박싱 : 기본 자료형을 참조자료형으로 변환
		// 언박싱 : 참조자료형을 기본 자료형으로 변환
		int a = 1;  // 기본 자료형 int 변수
		Integer b = new Integer(1);
		System.out.println(b.toHexString(1));
		Integer c = 123; // 자동 박싱 
		// Integer c = new Integer(123)
		int d = c;
		//int d - e.intValue();
		
		// 래퍼클래스의 사용예
		// 문자형태로 수자를 입력받을 경우
		System.out.println("숫자 하나 입력하세요");
		//int mynum = sc.nextInt();
		//String mynum = sc.next();
		
		int mynum = Integer.parseInt(sc.next());
		
		System.out.println(mynum+10);
			
	} // main

} // class
